#include <stdio.h>
#include <stdlib.h>
//双向循环链表，可以指定需要存入的数据类型
//1. int
//2. 


#define   DATETYPE  int

typedef struct node_st
{   
    struct node_st *pre;
    DATETYPE *data;
    struct node_st *next;

}dounode;


//双向循环链表的创建

dounode *dounode_creat() 
{
	dounode *me;
	
	me = (dounode*)malloc(sizeof(*me));

	me->data = 0;
	me->next =me;

	return me;
}

//双向链表的添加
int dounode_add( dounode * list,int n, DATETYPE *data )
{
	int j = 0;
	int i = n ;
	int tem = 0;
	dounode *me =list;
	
	
	
	while( j< i)
	{
		me =me->next ;
		j++;
	}

	for(;tem<n;tem++)
	{
		dounode *newnode;
		newnode =(dounode*)malloc(sizeof(*newnode));
		me->next=newnode;		
		newnode->pre = me;	
		newnode ->next =me ->next;	
		
		me->next->pre =newnode->next;
		
	}

}

//显示所以的链表 

void dounode_show(dounode * list)
{
	dounode *me = list ;

	do
	{
		printf("%d",list->data);
		list = list->next;
		
	}while(list!= me);

}
	
int main ()
{
//	DATETYPE a[] = {1,2,1,3,4,5};
	dounode *me;
	
	me = dounode_creat ();
	dounode_show(me);
	
//	for(int i =0;i<sizeof(a)/sizeof(&a[i]);i++)
//	{
//		me =dounode_creat(6,&a[i]);		
//	}

    exit (0);
}
